﻿using System.Runtime.Serialization;

namespace CommonComponents.Model
{
    /// <summary>
    /// Estructura de datos básica para usuarios
    /// </summary>
    [DataContract]
    public class User
    {
        #region Constructor

        /// <summary>
        /// Crea un usuario básico
        /// </summary>
        /// <param name="userName">Nickname de la cuenta</param>
        /// <param name="password">Password de la cuenta</param>
        /// <param name="name">Nombre</param>
        /// <param name="lastName1">Primer appelido</param>
        /// <param name="lastName2">Segundo apellido</param>
        /// <param name="address">Direccion del usuario</param>
        public User(string userName, string password, string name, string lastName1, string lastName2, Location address)
        {
            UserName = userName;
            Password = password;
            Name = name;
            LastName1 = lastName1;
            LastName2 = lastName2;
            Address = address;
        }

        /// <summary>
        /// Crea un usuario básico
        /// </summary>
        public User()
        {
        }

        #endregion

        #region Properties

        /// <summary>
        /// Nickname de la cuenta
        /// </summary>
        [DataMember]
        public string UserName { get; set; }

        /// <summary>
        /// Password de la cuenta
        /// </summary>
        [DataMember]
        public string Password { get; set; }

        /// <summary>
        /// Nombre del usuario
        /// </summary>
        [DataMember]
        public string Name { get; set; }

        /// <summary>
        /// Primer apellido del usuario
        /// </summary>
        [DataMember]
        public string LastName1 { get; set; }

        /// <summary>
        /// Segundo apellido del usuario
        /// </summary>
        [DataMember]
        public string LastName2 { get; set; }

        /// <summary>
        /// Dirección del usuario
        /// </summary>
        [DataMember]
        public Location Address { get; set; }

        #endregion
    }
}